#include "widget.h"
#include "ui_widget.h"
//#include "picturereceiver.h"

extern int stateInsult;// 用于储存checkboxInsult的状态
extern int stateClear;//用于储存checkboxClear的状态
extern int stateConnect;//用于储存checkboxConnect的状态
extern int stateLine;//用于完成直线连接
extern int stateClearLine;//  用于直线删除
extern int stateShowWeight;//用于展示权重
extern int stateSetWeight;//设置权重
extern int stateChangeMode;//改变模式
extern int stateSetStart;//设置起点终点
extern int state;//用于储存事件mousepressEvent中的状态参数

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setLayout(ui->horizontalLayoutMain);
    ui->textEdit->setLineWrapMode(QTextEdit::NoWrap);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::setUnable()
{
    if(!stateClear){
        ui->checkBoxClear->setEnabled(false);
    }else{
        ui->checkBoxClear->setEnabled(true);
    }
    if(!stateInsult){
        ui->checkBoxInsult->setEnabled(false);
    }else{
        ui->checkBoxInsult->setEnabled(true);
    }
    if(!stateClearLine){
        ui->checkBoxDelete->setEnabled(false);
    }else{
        ui->checkBoxDelete->setEnabled(true);
    }
    if(!stateSetWeight){
        ui->checkBoxSet->setEnabled(false);
    }else{
        ui->checkBoxSet->setEnabled(true);
    }
    if(!stateConnect){
        ui->checkBoxConnect->setEnabled(false);
    }else{
        ui->checkBoxConnect->setEnabled(true);
    }
    if(!stateSetStart){
        ui->checkBoxSelect->setEnabled(false);
    }else{
        ui->checkBoxSelect->setEnabled(true);
    }
    ui->comboBoxMode->setEnabled(false);
}

void Widget::refreshState()
{
    ui->checkBoxClear->setEnabled(true);
    ui->checkBoxInsult->setEnabled(true);
    ui->checkBoxDelete->setEnabled(true);
    ui->checkBoxSet->setEnabled(true);
    ui->checkBoxConnect->setEnabled(true);
    ui->checkBoxSelect->setEnabled(true);
    ui->comboBoxMode->setEnabled(true);
}

void Widget::setChangeUnable()
{
    ui->comboBoxMode->setEnabled(false);
}

void Widget::setChangeAble()
{
    ui->comboBoxMode->setEnabled(true);
}

void Widget::setMode()
{
    if(stateChangeMode){
        ui->checkBoxSelect->setEnabled(false);
    }else{
        ui->checkBoxSelect->setEnabled(true);
    }
}

void Widget::showResult(QString s)
{

    ui->textEdit->append(s);
}

